#!/bin/sh
#
# This is the script for generating files for a specific Dalton test job.
#
# For the .check file ksh or bash is preferred, otherwise use sh
# (and hope it is not the old Bourne shell, which will not work)
#
if [ -x /bin/ksh ]; then
   CHECK_SHELL='#!/bin/ksh'
elif [ -x /bin/bash ]; then
   CHECK_SHELL='#!/bin/bash'
else
   CHECK_SHELL='#!/bin/sh'
fi


#######################################################################
#  TEST DESCRIPTION
#######################################################################
cat > rsp_rpa_cis.info <<'%EOF%'
   rsp_rpa_cis
   ---------
   Molecule:         H2O
   Wave Function:    Configuration Interaction Singles calculation
   Test Purpose:     Tamm-Dancoff approximation to Random-Phase Approximation
%EOF%

#######################################################################
#  MOLECULE INPUT
#######################################################################
cat > rsp_rpa_cis.mol <<'%EOF%'
ATOMBASIS
Energy calculation without symmetry
Basis set specified with ATOMBASIS
    2    0
        8.    1      Basis=cc-pVDZ
O     0.0 -0.2249058930 0.0
        1.    2      Basis=cc-pVDZ
H1    1.45235 0.899623 0.0
H2   -1.45235 0.899623 0.0
%EOF%

#######################################################################
#  DALTON INPUT
#######################################################################
cat > rsp_rpa_cis.dal <<'%EOF%'
*DALTON INPUT
.RUN RESPONSE
**WAVE FUNCTIONS
.HF
*SCF INPUT
.THRESH
 1.0D-06
**RESPONSE
.CIS
*LINEAR
.SINGLE RESIDUE
.DIPLEN
.ROOTS
 3
**END OF INPUT
%EOF%
#######################################################################



#######################################################################

#######################################################################
#  CHECK SCRIPT
#######################################################################
echo $CHECK_SHELL > rsp_rpa_cis.check
cat >> rsp_rpa_cis.check <<'%EOF%'
log=$1

if [ `uname` = Linux ]; then
   GREP="egrep -a"
else
   GREP="egrep"
fi

# SCF Energy
CRIT1=`$GREP "Final HF energy\: * \-76\.0256814" $log | wc -l`
TEST[1]=`expr	$CRIT1`
CTRL[1]=1
ERROR[1]="HF ENERGY NOT CORRECT"

# Excitation energies
CRIT1=`$GREP "Excitation energy \: * 0\.33332" $log | wc -l`
CRIT2=`$GREP "Excitation energy \: * 0\.39756" $log | wc -l`
CRIT3=`$GREP "Excitation energy \: * 0\.42942" $log | wc -l`
TEST[2]=`expr   $CRIT1 \+ $CRIT2 \+ $CRIT3`
CTRL[2]=3
ERROR[2]="CIS (RPA/TDA) EXCITATION ENERGIES NOT CORRECT"

PASSED=1
for i in 1 2
do
   if [ ${TEST[i]} -ne ${CTRL[i]} ]; then
     echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); "
     PASSED=0
   fi
done

if [ $PASSED -eq 1 ]
then
  echo TEST ENDED PROPERLY
  exit 0
else
  echo THERE IS A PROBLEM
  exit 1
fi

%EOF%
#######################################################################
